/**
*  \file interpol_u16_s32.h
*
*  \brief Linear interpolation module for U16 input and S32 output.
*
*  \author Michael J. Hohmann  michael.hohmann@linde-mh.de
*
*
*
*
*
*/
#ifndef INTERPOL_U16_S32_H_INCLUDED
#define INTERPOL_U16_S32_H_INCLUDED

/*================================================[ public includes  ]================================================*/
#include "../cfg/prj.h"

/*================================================[ public defines   ]================================================*/

/*================================================[ public datatypes ]================================================*/


/** Object definition.
 *
 * The struct interpol_u16_u16_object defines the attribute of an object.
 */
struct interpol_u16_s32_obj
{
   pal_size_t count;     /**< Number of data points of the curve */
   U16 const* x;         /**< Pointer to an array of x values */
   S32 const* y;         /**< Pointer to an array of y values */
};


/*================================================[ public variables ]================================================*/

/*================================================[ inline functions ]================================================*/

/*================================================[ public functions ]================================================*/

/**
*  Initialization.
*
*  Initialize the interpol_u16_u16 module.
*
*  \return RC_SUCCESS if successful.
*/
S32 interpol_u16_s32(struct interpol_u16_s32_obj const* me, U16 value);


/*====================================================================================================================*/

#endif

/***********************************************************************************************************************
*                             Copyright 2018 Linde Material Handling. All rights reserved.                             *
***********************************************************************************************************************/
